package com.hzw.saas.service.schedule.model;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.hzw.saas.common.config.model.BaseLogicModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;

/**
 * 日程信息表
 *
 * @author hankun
 */
@ApiModel(value = "日程信息表")
@Data
@EqualsAndHashCode(callSuper = true)
@TableName(value = "tb_user_schedule")
public class UserSchedule extends BaseLogicModel {
    private static final long serialVersionUID = 5689446912732921049L;

    public static final Integer STATUS_NOT_CHECK = 0;
    public static final Integer STATUS_CHECK = 1;
    /**
     * 用户名ID
     */
    @TableField(value = "user_id")
    @ApiModelProperty(value = "用户名ID")
    private String userId;

    /**
     * 标题
     */
    @TableField(value = "title")
    @ApiModelProperty(value = "标题")
    private String title;

    /**
     * 日程描述/内容
     */
    @TableField(value = "content")
    @ApiModelProperty(value = "日程描述/内容")
    private String content;

    /**
     * 日程状态, 0-未完成, 1-已完成
     */
    @TableField(value = "`status`")
    @ApiModelProperty(value = "日程状态, 0-未完成, 1-已完成")
    private Integer status;

    /**
     * 排序
     */
    @TableField(value = "sort_order")
    @ApiModelProperty(value = "排序")
    private Long sortOrder;

    /**
     * 提醒日期
     */
    @TableField(value = "due_date")
    @ApiModelProperty(value = "提醒日期")
    private LocalDateTime dueDate;

    @TableField(value = "start_time")
    @ApiModelProperty(value = "时间段 开始时间")
    private LocalDateTime startTime;

    @TableField(value = "end_time")
    @ApiModelProperty(value = "时间段 结束时间")
    private LocalDateTime endTime;

    /**
     * 提醒设置
     */
    @TableField(value = "repeat_flag")
    @ApiModelProperty(value = "提醒设置")
    private String repeatFlag;

    @TableField(value = "skip_weekend")
    @ApiModelProperty(value = "是否跳过节假日 0:否 1:是")
    private Integer skipWeekend;

    /**
     * 提前量
     */
    @TableField(value = "ahead_time")
    @ApiModelProperty(value = "提前量")
    private String aheadTime;

    /**
     * 分组id 0:默认
     */
    @TableField(value = "group_id")
    @ApiModelProperty(value = "分组id ")
    private String groupId;

    /**
     * 会议id
     */
    @TableField(value = "meeting_id")
    @ApiModelProperty(value = "会议id")
    private String meetingId;

    /**
     * 优先级 0:默认
     */
    @TableField(value = "priority")
    @ApiModelProperty(value = "优先级 0:无|1:低|2:中|3:高")
    private Integer priority;

    /**
     * check时此条记录产生的父pid
     */
    @TableField(value = "check_pid")
    @ApiModelProperty(value = "check时此条记录产生的父pid")
    private String checkPid;

    /**
     * 删除至垃圾桶 0:正常 1:删除至垃圾桶
     */
    @TableField(value = "ashcan_flag")
    @ApiModelProperty(value = "删除至垃圾桶 0:正常 1:删除至垃圾桶")
    private Integer ashcanFlag;
}